﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;
using System.IO;

namespace Server
{
    /// <summary>
    /// Summary description for Service
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class Service : System.Web.Services.WebService
    {

        [WebMethod]
        public int DangKi(string Mac, string Ten, int MSSV, DateTime dt)
        {
            string strConect = @"Server=Elnino\SQLEXPRESS;Database=NopBai;Integrated Security=SSPI";
            //Tạo đối tượng kết nối
            SqlConnection conn = new SqlConnection(strConect);
            //Tạo đối tượng thực thi lệnh
            SqlCommand cmd = conn.CreateCommand();
            //Tạo câu lệnh SQL
            string query = "Insert into NopBaiThi(Mac, Mssv, HoTen,NgayDK)"
                          + "values('" + Mac + "','" + MSSV + "','" + Ten + "','" + dt + "')";

            cmd.CommandText = query;
            int kq;
            conn.Open();
            try
            {
                kq = cmd.ExecuteNonQuery();
            }
            catch
            {
                kq = 0;
            }

            conn.Close();
            return kq;
        }

        [WebMethod]
        public DataTable Ds_MayDangKi()
        {
            string strConect = @"Server=Elnino\SQLEXPRESS;Database=NopBai;Integrated Security=SSPI";
            //Tạo đối tượng kết nối
            SqlConnection conn = new SqlConnection(strConect);
            //Tạo đối tượng thực thi lệnh
            SqlCommand cmd = conn.CreateCommand();
            //Tạo câu lệnh SQL
            string query = "SELECT Mssv,HoTen,NgayDK FROM NopBaiThi";
            cmd.CommandText = query;
            SqlDataAdapter dtAdapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            conn.Open();
            dtAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
            dtAdapter.Fill(dt);
            //Đóng kết nối
            conn.Close();
            conn.Dispose();

            return dt;
        }

        [WebMethod]
        public bool Kiemtra_DangKiTV(string mamay)//Kiem tra xem may nay da dang ki chua
        {
            string strConect = @"Server=Elnino\SQLEXPRESS;Database=NopBai;Integrated Security=SSPI";
            //Tạo đối tượng kết nối
            SqlConnection conn = new SqlConnection(strConect);
            //Tạo đối tượng thực thi lệnh
            SqlCommand cmd = conn.CreateCommand();
            //Tạo câu lệnh SQL
            string query = "SELECT * FROM NopBaiThi WHERE Mac = '" + mamay + "'";
            cmd.CommandText = query;
            SqlDataAdapter dtAdapter = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            conn.Open();
            dtAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
            dtAdapter.Fill(dt);
            conn.Close();
            conn.Dispose();
            if (dt.Rows.Count > 0)//Máy được không được phép nạp bài
            {
                return false;
            }
            else
            {

                return true;//Máy được phép gửi bài
            }
        }

        [WebMethod]
        public string UploadFile(byte[] f, string fileName)
        {
            try
            {
                MemoryStream ms = new MemoryStream(f);
                FileStream fs = new FileStream(System.Web.Hosting.HostingEnvironment.MapPath
                            ("~/SinhVienNopBai/") + fileName, FileMode.Create);
                ms.WriteTo(fs);
                ms.Close();
                fs.Close();
                fs.Dispose();
                return "OK";
            }
            catch (Exception ex)
            {
                return ex.Message.ToString();
            }
        }
    }
}
